Field
Speech transcoding in packet networks may be useful when both incoming and outgoing speech streams of the transcoding entity are packet based. This can be any transcoding entity having packet interfaces, such as, but not limited to A-interface over IP (AoIP) in global system for mobile communication (GSM), Iu in third generation (3G), Mb in voice over internet protocol (VoIP) or long term evolution (LTE), multimedia resource function (MRF) entity in the internet protocol (IP) cloud, or the like.
Description of the Related Art
Conventionally, jitter buffering used before transcoding is also used for IP-to-IP connections, like IP-to-circuit switched (CS) connections. The term de-jitter buffering can also refer to the same thing as the term jitter buffering. FIG. 1 illustrates transcoding with jitter buffering. This approach may be used, for example, in a Media Gateway (MGW). However, this approach may result in increased latency of the connection.
As shown in FIG. 1, Encoder1 105 may send packets 1, 2, and 3, but packet 2 may be lost. A transcoder 110 may use a jitter buffer 120 and first decoder/bad frame handler (BFH) 130. The jitter buffer 120 may forward the packets and a packet loss indication to the first decoder/BFH 130. The decoder1 130 can use bad frame handling to conceal the lost packet. Packet loss concealment is a synonym for bad frame handling. The transcoder 110 may interpolate packet 2 via bad frame handling in decoder1 130 and encode the packets using Second encoder 140. The packets can then be sent to and received by jitter buffer second decoder 150.
Another possible solution is the scheduling of transcoding immediately when a packet has been received. This is shown in FIG. 2. In this solution, the running of transcoding stage is based on received packet time instant, rather than timer based instant. Handling lost and out of order packets may not be easy in this case. If one or more packets are lost, the transcoding stage must be run multiple times at the same time when the next valid speech packet is received. One reason is that the bad frame handler, or packet loss concealment, of the decoder 130 interpolates missing packets before second encoder 140, which is the encoder of the transcoding stage. This will generate a huge peak in the processing load of the transcoding stage. Increased jitter may also exist in the outgoing packet stream when encoded interpolated and the next valid received packets are clustered.
In the case of out-of-order packet, the out-of-order packet will be discarded as the latter packet has already been processed by the transcoding stage. On the other hand if jitter buffer is applied, the order of packets can be rearranged before the transcoding, and no packets will be lost.